import * as api from '../../../api/user';
// import { Dispatch, AnyAction } from 'redux';
// import * as actionTypes from '../../types/action';

// interface HeadAction {
//   type: 'UPDATE' | 'ERROR';
//   value: HeadDataItem[];
// }

// 定义页面传过来的参数数据类型
// interface HeadParams {
//     msg: string;
// }

// redux-thunk
export function getHeadAction() {
    // 返回一个action函数 留给页面调用
    return function (dispatch) {
        // 返回Promise让中间件处理，我们不用管
        // 在这里发请求 并触发dispatch(action) 注意这里的action就是用来告知reducer如何修改state的
        return api.getUserInfo()
            // 请求成功
            .then((res) => dispatch({
                type: 'UPDATE',
                value: res.data.data,
            }))
            // 请求失败
            .catch((err) => dispatch({
                type: 'ERROR',
            }));
    }
}
